﻿using System.Collections.Generic;
using System.IO;
using System.Reflection;
using Boggle.Net.Model;
using Boggle.Net.ViewModels;

namespace Boggle.Net
{
    public sealed class AppBootstrapper : BootstrapperBase
    {
        protected override IEnumerable<Assembly> SelectAssemblies()
        {
            return new[]
            {
                Assembly.GetExecutingAssembly(),
                typeof(MainViewModel).Assembly
            };
        }

        protected override IWordList EnhancedNorthAmericanBenchmarkWordList
        {
            get
            {
                // ReSharper disable AssignNullToNotNullAttribute
                var fullPath = Path.Combine(Path.GetDirectoryName(typeof(IShell).Assembly.Location), "ENABLE.txt");
                // ReSharper restore AssignNullToNotNullAttribute
                return new BasicWordList(fullPath);
            }
        }
    }
}
